package cn.wizzer.app.crown.modules.services;

import cn.wizzer.app.crown.modules.models.CrownViewPoint;
import cn.wizzer.app.crown.modules.models.enums.MatchTypeEnum;
import cn.wizzer.app.crown.modules.models.vo.CrownMatchViewPointVO;
import cn.wizzer.app.sys.modules.models.SysMsg;
import cn.wizzer.app.user.modules.models.enums.ViewStatusEnum;
import cn.wizzer.framework.base.service.BaseService;
import cn.wizzer.framework.page.Pagination;
import org.nutz.dao.sql.Sql;

import java.util.Map;

public interface ViewPointService extends BaseService<CrownViewPoint> {
    /**
     *  结算，退款或与平台分红
     */
    void settle();

    /**
     * 观点标签周统计
     */
    void viewPointLabelWeekStatistics();

    Pagination listPage(Integer pageNumber, int pageSize, String searchKeyword, String userId, MatchTypeEnum matchType, String sortType);

    Map selfList(Integer pageNumber, int pageSize, String appid, MatchTypeEnum matchType, String userId);

    CrownMatchViewPointVO detail(String id, String appid);

    Pagination listPageVo(Integer pageNumber, int pageSize, String userId);

    Pagination recordListPage(Integer pageNumber, int pageSize, String type);

    Pagination expertListPage(Integer pageNumber, int pageSize, String userId);

    Pagination listPage(Integer pageNumber, int pageSize, String searchKeyword, String[] searchDate, MatchTypeEnum matchType, ViewStatusEnum status);

    SysMsg add(CrownViewPoint viewPoint, String appid);

    Pagination funList(Integer pageNumber, int pageSize, String anchorId);

    void renewViewPoint(String matchId);

    /**
     * 获取皇冠赛事列表(查库)
     *
     * @param pageNo
     * @param pageSize
     * @param matchType
     * @return
     */
    Pagination matchList(Integer pageNo, Integer pageSize, MatchTypeEnum matchType);
}
